flatten1(nil) -> nil
flatten1(unit1(x)) -> flatten1(x)
flatten1(++2(x, y)) -> ++2(flatten1(x), flatten1(y))
flatten1(++2(unit1(x), y)) -> ++2(flatten1(x), flatten1(y))
flatten1(flatten1(x)) -> flatten1(x)
rev1(nil) -> nil
rev1(unit1(x)) -> unit1(x)
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
rev1(rev1(x)) -> x
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
↳ QTRS
↳ DependencyPairsProof
flatten1(nil) -> nil
flatten1(unit1(x)) -> flatten1(x)
flatten1(++2(x, y)) -> ++2(flatten1(x), flatten1(y))
flatten1(++2(unit1(x), y)) -> ++2(flatten1(x), flatten1(y))
flatten1(flatten1(x)) -> flatten1(x)
rev1(nil) -> nil
rev1(unit1(x)) -> unit1(x)
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
rev1(rev1(x)) -> x
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
FLATTEN1(++2(x, y)) -> FLATTEN1(x)
REV1(++2(x, y)) -> REV1(x)
REV1(++2(x, y)) -> REV1(y)
FLATTEN1(++2(x, y)) -> FLATTEN1(y)
FLATTEN1(++2(unit1(x), y)) -> FLATTEN1(y)
FLATTEN1(++2(unit1(x), y)) -> FLATTEN1(x)
++12(++2(x, y), z) -> ++12(x, ++2(y, z))
FLATTEN1(++2(x, y)) -> ++12(flatten1(x), flatten1(y))
REV1(++2(x, y)) -> ++12(rev1(y), rev1(x))
FLATTEN1(++2(unit1(x), y)) -> ++12(flatten1(x), flatten1(y))
FLATTEN1(unit1(x)) -> FLATTEN1(x)
++12(++2(x, y), z) -> ++12(y, z)
flatten1(nil) -> nil
flatten1(unit1(x)) -> flatten1(x)
flatten1(++2(x, y)) -> ++2(flatten1(x), flatten1(y))
flatten1(++2(unit1(x), y)) -> ++2(flatten1(x), flatten1(y))
flatten1(flatten1(x)) -> flatten1(x)
rev1(nil) -> nil
rev1(unit1(x)) -> unit1(x)
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
rev1(rev1(x)) -> x
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
FLATTEN1(++2(x, y)) -> FLATTEN1(x)
REV1(++2(x, y)) -> REV1(x)
REV1(++2(x, y)) -> REV1(y)
FLATTEN1(++2(x, y)) -> FLATTEN1(y)
FLATTEN1(++2(unit1(x), y)) -> FLATTEN1(y)
FLATTEN1(++2(unit1(x), y)) -> FLATTEN1(x)
++12(++2(x, y), z) -> ++12(x, ++2(y, z))
FLATTEN1(++2(x, y)) -> ++12(flatten1(x), flatten1(y))
REV1(++2(x, y)) -> ++12(rev1(y), rev1(x))
FLATTEN1(++2(unit1(x), y)) -> ++12(flatten1(x), flatten1(y))
FLATTEN1(unit1(x)) -> FLATTEN1(x)
++12(++2(x, y), z) -> ++12(y, z)
flatten1(nil) -> nil
flatten1(unit1(x)) -> flatten1(x)
flatten1(++2(x, y)) -> ++2(flatten1(x), flatten1(y))
flatten1(++2(unit1(x), y)) -> ++2(flatten1(x), flatten1(y))
flatten1(flatten1(x)) -> flatten1(x)
rev1(nil) -> nil
rev1(unit1(x)) -> unit1(x)
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
rev1(rev1(x)) -> x
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
++12(++2(x, y), z) -> ++12(x, ++2(y, z))
++12(++2(x, y), z) -> ++12(y, z)
flatten1(nil) -> nil
flatten1(unit1(x)) -> flatten1(x)
flatten1(++2(x, y)) -> ++2(flatten1(x), flatten1(y))
flatten1(++2(unit1(x), y)) -> ++2(flatten1(x), flatten1(y))
flatten1(flatten1(x)) -> flatten1(x)
rev1(nil) -> nil
rev1(unit1(x)) -> unit1(x)
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
rev1(rev1(x)) -> x
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
++12(++2(x, y), z) -> ++12(x, ++2(y, z))
++12(++2(x, y), z) -> ++12(y, z)
++^12 > ++2
nil > ++2
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
flatten1(nil) -> nil
flatten1(unit1(x)) -> flatten1(x)
flatten1(++2(x, y)) -> ++2(flatten1(x), flatten1(y))
flatten1(++2(unit1(x), y)) -> ++2(flatten1(x), flatten1(y))
flatten1(flatten1(x)) -> flatten1(x)
rev1(nil) -> nil
rev1(unit1(x)) -> unit1(x)
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
rev1(rev1(x)) -> x
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
REV1(++2(x, y)) -> REV1(y)
REV1(++2(x, y)) -> REV1(x)
flatten1(nil) -> nil
flatten1(unit1(x)) -> flatten1(x)
flatten1(++2(x, y)) -> ++2(flatten1(x), flatten1(y))
flatten1(++2(unit1(x), y)) -> ++2(flatten1(x), flatten1(y))
flatten1(flatten1(x)) -> flatten1(x)
rev1(nil) -> nil
rev1(unit1(x)) -> unit1(x)
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
rev1(rev1(x)) -> x
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
REV1(++2(x, y)) -> REV1(y)
REV1(++2(x, y)) -> REV1(x)
++2 > REV1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
flatten1(nil) -> nil
flatten1(unit1(x)) -> flatten1(x)
flatten1(++2(x, y)) -> ++2(flatten1(x), flatten1(y))
flatten1(++2(unit1(x), y)) -> ++2(flatten1(x), flatten1(y))
flatten1(flatten1(x)) -> flatten1(x)
rev1(nil) -> nil
rev1(unit1(x)) -> unit1(x)
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
rev1(rev1(x)) -> x
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
FLATTEN1(++2(x, y)) -> FLATTEN1(x)
FLATTEN1(++2(x, y)) -> FLATTEN1(y)
FLATTEN1(++2(unit1(x), y)) -> FLATTEN1(y)
FLATTEN1(++2(unit1(x), y)) -> FLATTEN1(x)
FLATTEN1(unit1(x)) -> FLATTEN1(x)
flatten1(nil) -> nil
flatten1(unit1(x)) -> flatten1(x)
flatten1(++2(x, y)) -> ++2(flatten1(x), flatten1(y))
flatten1(++2(unit1(x), y)) -> ++2(flatten1(x), flatten1(y))
flatten1(flatten1(x)) -> flatten1(x)
rev1(nil) -> nil
rev1(unit1(x)) -> unit1(x)
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
rev1(rev1(x)) -> x
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
FLATTEN1(++2(x, y)) -> FLATTEN1(x)
FLATTEN1(++2(x, y)) -> FLATTEN1(y)
FLATTEN1(++2(unit1(x), y)) -> FLATTEN1(y)
FLATTEN1(++2(unit1(x), y)) -> FLATTEN1(x)
Used ordering: Combined order from the following AFS and order.
FLATTEN1(unit1(x)) -> FLATTEN1(x)
[FLATTEN1, ++2]
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
FLATTEN1(unit1(x)) -> FLATTEN1(x)
flatten1(nil) -> nil
flatten1(unit1(x)) -> flatten1(x)
flatten1(++2(x, y)) -> ++2(flatten1(x), flatten1(y))
flatten1(++2(unit1(x), y)) -> ++2(flatten1(x), flatten1(y))
flatten1(flatten1(x)) -> flatten1(x)
rev1(nil) -> nil
rev1(unit1(x)) -> unit1(x)
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
rev1(rev1(x)) -> x
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
FLATTEN1(unit1(x)) -> FLATTEN1(x)
unit1 > FLATTEN1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
flatten1(nil) -> nil
flatten1(unit1(x)) -> flatten1(x)
flatten1(++2(x, y)) -> ++2(flatten1(x), flatten1(y))
flatten1(++2(unit1(x), y)) -> ++2(flatten1(x), flatten1(y))
flatten1(flatten1(x)) -> flatten1(x)
rev1(nil) -> nil
rev1(unit1(x)) -> unit1(x)
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
rev1(rev1(x)) -> x
++2(x, nil) -> x
++2(nil, y) -> y
++2(++2(x, y), z) -> ++2(x, ++2(y, z))